package widok;


import kontroler.Presenter;

import javax.swing.*;
import java.awt.*;
import java.awt.event.WindowAdapter;
import java.awt.event.WindowEvent;

/**
 * Author: Daniel
 * Date: 16.09.13
 */

public class Okienko extends JFrame {
    private Presenter presenter;
    private JMenuItem zapiszItem;
    private JMenuItem zamknijItem;

    public Okienko() {

        ustawOkienko();
        ustawMenu();
        ustawKomponenty();

        dispose();
    }

    private void ustawMenu() {
        JMenuBar jMenuBar = new JMenuBar();
        JMenu plikMenu = new JMenu("Plik");
        zapiszItem = new JMenuItem("Zapisz do pliku");
        zamknijItem = new JMenuItem("Zamknij");

        plikMenu.add(zapiszItem);
        plikMenu.add(zamknijItem);
        jMenuBar.add(plikMenu);
        setJMenuBar(jMenuBar);
    }

    private void ustawOkienko() {
        setSize(500, 600);
        setTitle("Rejestracja pracowników");
        setLocationRelativeTo(null);
        addWindowListener(new WindowAdapter() {
            @Override
            public void windowClosing(WindowEvent e) {
                presenter.zapiszDaneDoPliku();
            }
        });

        try {
            UIManager.setLookAndFeel(
                UIManager.getSystemLookAndFeelClassName());
        } catch (Exception e) {}
    }

    private void ustawKomponenty() {
        presenter = new Presenter();

        GornyPanel gornyPanel = new GornyPanel();
        SrodkowyPanel srodkowyPanel = new SrodkowyPanel(presenter);
        DolnyPanel dolnyPanel = new DolnyPanel();

        add(gornyPanel, BorderLayout.NORTH);
        add(srodkowyPanel, BorderLayout.CENTER);
        add(dolnyPanel, BorderLayout.SOUTH);

        presenter.setImieTF(gornyPanel.getImieTF());
        presenter.setNazwiskoTF(gornyPanel.getNazwiskoTF());
        presenter.setDataUrodzenieDC(gornyPanel.getDataUrodzenieDC());
        presenter.setPlecCB(gornyPanel.getPlecCB());
        presenter.setZapiszBT(gornyPanel.getZapiszBT());
        presenter.setTable(srodkowyPanel.getTable());
        presenter.setUsunBT(dolnyPanel.getUsunBT());
        presenter.setZapiszItem(this.zapiszItem);
        presenter.setZamknijItem(this.zamknijItem);
    }
}
